using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Nextel.Utils;

using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Drawing;

public partial class Reporte_Actividad : PageController, IExcel
{ 
    protected override void initialize()
    {
        if (!Page.IsPostBack)
        {
            subLlenarControl();
            cargarCombo();
            txtFechaInicio.Text = StringUtils.getFechaActual();
            txtFechaFin.Text = StringUtils.getFechaActual();
        }
        UCRepTituloSin1.iexcel = this;
        
    }

    private void cargarCombo()
    {
        txtcodigousuario.DataSource = DALBase.getGeneralBean(AbstractBean.ACTIVO, "USPW_USUARIO_S_USUARIOXFLAG", ((UsuarioBean)Session[SessionManager.USER_SESSION]).codigo);
        txtcodigousuario.DataValueField = "CODIGO";
        txtcodigousuario.DataTextField = "NOMBRE";

        try
        {
            txtcodigousuario.DataBind();
            txtcodigousuario.Items.Insert(0, "--" + IdiomaCultura.getMensaje(IdiomaCultura.WEB_TODOS) + "--");
            txtcodigousuario.Items[0].Value = "";
        }
        catch (Exception) { }

        cmbperfil.DataSource = DBUsuario.getGeneralBean(AbstractBean.ACTIVO, "USPW_USUARIO_S_PERFILXFLAG", ((UsuarioBean)Session[SessionManager.USER_SESSION]).codigo);
        cmbperfil.DataValueField = "CODIGO";
        cmbperfil.DataTextField = "NOMBRE";
        try
        {
            cmbperfil.DataBind();
        }
        catch (Exception) { }

        cmbperfil.Items.Insert(0, "--" + IdiomaCultura.getMensaje(IdiomaCultura.WEB_TODOS) + "--");
        cmbperfil.Items[0].Value = "-1";

    }

    private void subLlenarControl()
    {
        UCRepTituloSin1.Descripcion = IdiomaCultura.getMensaje(IdiomaCultura.WEB_REPORTE_ACTIVIDAD);
    }

    public List<AbstractBean> getListaExcel()
    {
        //CAMPOS DEL EXCEL
        String[] campos = { "NOMBRE", "USUARIO", "FECHAINICIOREALIZADO", "FECHAFINREALIZADO","TIPOACTIVIDAD", "CANTIDADESTADO", "CANTIDADESTADOREALIZADO"};
        //String[] campos = { "CODIGO", "NOMBRE", "USUARIO", "TIPOACTIVIDAD", "CANTIDADESTADO", "CANTIDADESTADOREALIZADO", "FECHAINICIOREALIZADO", "FECHAFINREALIZADO"};

        String[] cabeceras = { 
                                IdiomaCultura.getMensaje(IdiomaCultura.WEB_CLIENTE).ToUpper(), 
                                IdiomaCultura.getMensaje(IdiomaCultura.WEB_USUARIO).ToUpper(), 
                                IdiomaCultura.getMensaje(IdiomaCultura.WEB_FECHAINICIO).ToUpper(),
                                IdiomaCultura.getMensaje(IdiomaCultura.WEB_FECHAFIN).ToUpper(),
                                IdiomaCultura.getMensaje(IdiomaCultura.WEB_TIPOACTIVIDAD).ToUpper(), 
                                IdiomaCultura.getMensaje(IdiomaCultura.WEB_NR0_ESTADO).ToUpper(), 
                                IdiomaCultura.getMensaje(IdiomaCultura.WEB_NRO_REALIZADO).ToUpper()
        };
        //        IdiomaCultura.getMensaje(IdiomaCultura.WEB_DURACION).ToUpper() };

        UCRepTituloSin1.campos = campos;
        UCRepTituloSin1.cabeceras = cabeceras;

        ActividadReporteBean bean = new ActividadReporteBean();

        bean.nombre = txtnombre.Text.Trim();

        bean.codigousuario = txtcodigousuario.Text.Trim();

        bean.fechainicio = txtFechaInicio.Text.Trim()+" 00:00";

        bean.fechafin = txtFechaFin.Text.Trim()+" 23:59";

        bean.codigoperfil = cmbperfil.Text.Trim(); // nuevo

        // validacion fechas
        if (StringUtils.validarFechaCompleta(txtFechaInicio.Text.Trim()) && StringUtils.validarFechaCompleta(txtFechaFin.Text.Trim()))
        {
            return DBActividad.findActividadReporteExcel(bean, ((UsuarioBean)Session[SessionManager.USER_SESSION]).codigo);
        }
        else
        {
            //txtFechaInicio.Text = StringUtils.getFechaActual();
            //txtFechaFin.Text = StringUtils.getFechaActual();
            return new List<AbstractBean>();
        }

    }

    public override void VerifyRenderingInServerForm(Control control)
    {
    }
}
